app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))
↳ QTRS
↳ DependencyPairsProof
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))
REVERSE1(add2(n, x)) -> APP2(reverse1(x), add2(n, nil))
REVERSE1(add2(n, x)) -> REVERSE1(x)
SHUFFLE1(add2(n, x)) -> SHUFFLE1(reverse1(x))
SHUFFLE1(add2(n, x)) -> REVERSE1(x)
APP2(add2(n, x), y) -> APP2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
REVERSE1(add2(n, x)) -> APP2(reverse1(x), add2(n, nil))
REVERSE1(add2(n, x)) -> REVERSE1(x)
SHUFFLE1(add2(n, x)) -> SHUFFLE1(reverse1(x))
SHUFFLE1(add2(n, x)) -> REVERSE1(x)
APP2(add2(n, x), y) -> APP2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
APP2(add2(n, x), y) -> APP2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP2(add2(n, x), y) -> APP2(x, y)
POL( APP2(x1, x2) ) = x1 + 3
POL( add2(x1, x2) ) = 2x2 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
REVERSE1(add2(n, x)) -> REVERSE1(x)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REVERSE1(add2(n, x)) -> REVERSE1(x)
POL( REVERSE1(x1) ) = 2x1 + 2
POL( add2(x1, x2) ) = 3x1 + x2 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
SHUFFLE1(add2(n, x)) -> SHUFFLE1(reverse1(x))
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SHUFFLE1(add2(n, x)) -> SHUFFLE1(reverse1(x))
POL( reverse1(x1) ) = x1
POL( SHUFFLE1(x1) ) = x1 + 1
POL( nil ) = max{0, -3}
POL( app2(x1, x2) ) = x1 + x2
POL( add2(x1, x2) ) = 3x1 + x2 + 2
reverse1(nil) -> nil
app2(nil, y) -> y
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
app2(add2(n, x), y) -> add2(n, app2(x, y))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
reverse1(nil) -> nil
reverse1(add2(n, x)) -> app2(reverse1(x), add2(n, nil))
shuffle1(nil) -> nil
shuffle1(add2(n, x)) -> add2(n, shuffle1(reverse1(x)))